﻿/// <summary>
/// 日志接口
/// </summary>
public interface ILoggerHelper
{

    /// <summary>
    /// 调试信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Debug(object source, string message);
    /// <summary>
    /// 调试信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="ps">ps</param>
    void Debug(object source, string message, params object[] ps);
    /// <summary>
    /// 调试信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Debug(Type source, string message);
    /// <summary>
    /// 关键信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Info(object source, object message);
    /// <summary>
    /// 关键信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Info(Type source, object message);
    /// <summary>
    /// 警告信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Warn(object source, object message);
    /// <summary>
    /// 警告信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Warn(Type source, object message);
    /// <summary>
    /// 错误信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Error(object source, object message);
    /// <summary>
    /// 错误信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Error(Type source, object message);
    /// <summary>
    /// 失败信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Fatal(object source, object message);
    /// <summary>
    /// 失败信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    void Fatal(Type source, object message);

    /* Log a message object and exception */

    /// <summary>
    /// 调试信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Debug(object source, object message, Exception exception);
    /// <summary>
    /// 调试信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Debug(Type source, object message, Exception exception);
    /// <summary>
    /// 关键信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Info(object source, object message, Exception exception);
    /// <summary>
    /// 关键信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Info(Type source, object message, Exception exception);
    /// <summary>
    /// 警告信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Warn(object source, object message, Exception exception);
    /// <summary>
    /// 警告信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Warn(Type source, object message, Exception exception);
    /// <summary>
    /// 错误信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Error(object source, object message, Exception exception);
    /// <summary>
    /// 错误信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Error(Type source, object message, Exception exception);
    /// <summary>
    /// 失败信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Fatal(object source, object message, Exception exception);
    /// <summary>
    /// 失败信息
    /// </summary>
    /// <param name="source">source</param>
    /// <param name="message">message</param>
    /// <param name="exception">ex</param>
    void Fatal(Type source, object message, Exception exception);
}